package com.gimi.cloud.bbp.client.service.order;

import com.gimi.cloud.bbp.common.utils.reqhead.Response;
import com.gimi.cloud.bbp.dto.mall.MallCartDTO;
import com.gimi.cloud.bbp.dto.mall.SettlementDTO;
import com.gimi.cloud.bbp.dto.order.OrderDTO;
import com.gimi.cloud.bbp.dto.order.ShOrderPayinfoDTO;

/**
 * 结算服务
 * @author lilinfeng
 */
public interface SettlementService {

	/**
	 * 从购物车中生成结算信息
	 * @param requestData
	 * @param request
	 * @param response
	 */
	Response generatingClearingInformation(SettlementDTO settlementInfo);

	/**
	 * 生成订单
	 * @param settlementInfo
	 * @return
	 */
	Response generatingOrder(SettlementDTO settlementInfo);

	/**
	 * 提交订单支付状态
	 * @param settlementInfo
	 * @return
	 */
	Response submissionOfPaymentStatus(ShOrderPayinfoDTO settlementInfo);

	/**
	 * 直接购买
	 * @param settlementInfo
	 * @return
	 */
	Response buyDirect(MallCartDTO maCart);

	/**
	 * 获取支付参数
	 * @param maCart
	 * @return
	 */
	Response getPaymentParameters(OrderDTO order);

	/**
	 * 获取订单支付金额
	 * @param order
	 * @return
	 */
	Response getOrderPayAmount(OrderDTO order);

}
